home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / BBS_UTL / TOOL_USE / HEAPMEM.PAS < prev    next >
Pascal/Delphi Source File  |  1989-03-01  |  1KB  |  58 lines

  1.  
  2. (*
  3.  * Copyright 1987, 1989 Samuel H. Smith;  All rights reserved
  4.  *
  5.  * This is a component of the ProDoor System.
  6.  * Do not distribute modified versions without my permission.
  7.  * Do not remove or alter this notice or any other copyright notice.
  8.  * If you use this in your own program you must distribute source code.
  9.  * Do not use any of this in a commercial product.
  10.  *
  11.  *)
  12.  
  13. (*
  14.  * HeapMem - Heap Memory Management Unit (heap version of DosMem) (3-1-89)
  15.  *
  16.  *)
  17.  
  18. {$r-,s-}
  19.  
  20. unit HeapMem;
  21.  
  22. interface
  23.    uses DOS;
  24.  
  25.    type
  26.       wordarray = array[1..2] of word;
  27.       wordptr = ^wordarray;
  28.  
  29.    procedure dos_getmem(var ptrvar; size: word);
  30.    procedure dos_freemem(var ptrvar);
  31.  
  32.  
  33. implementation
  34.  
  35.    procedure dos_getmem(var ptrvar; size: word);
  36.    var
  37.       msize:   wordptr absolute ptrvar;
  38.    begin
  39.       {writeln('getmem ',size);}
  40.       getmem(msize, size+2);
  41.       msize^[1] := size+2;
  42.       msize := @msize^[2];
  43.    end;
  44.  
  45.    procedure dos_freemem(var ptrvar);
  46.    var
  47.       msize:   wordptr absolute ptrvar;
  48.       i:       integer;
  49.    begin
  50.       i := 0;
  51.       msize := @msize^[i];
  52.       {writeln('freemem ',msize^[1]);}
  53.       freemem(msize,msize^[1]);
  54.    end;
  55.  
  56. end.
  57.  
  58.